A heuristic method for solving the Steiner tree problem in graphs using network centralities

We propose a heuristic method of using network centralities for constructing small-weight Steiner trees in this paper. The Steiner tree problem in graphs is one of the practical NP-hard combinatorial optimization problems. Given a graph and a set of vertices called terminals in the graph, the objective of the Steiner tree problem in graphs is to find a minimum weight Steiner tree that is a tree containing all the terminals. Conventional construction methods make a Steiner tree based on the shortest paths between terminals. If these shortest paths are overlapped as much as possible, we can obtain a small-weight Steiner tree. Therefore, we proposed to use network centralities to distinguish which edges should be included to make a small-weight Steiner tree. Experimental results revealed that using the vertex or the edge betweenness centralities contributes to making small-weight Steiner trees.


S1. How to set the value of parameter α
As the most essential point of our proposed method, the newly defined edge weight w ′ is used instead of the original edge weight w.Here, w ′ is determined from two pieces of information: w and the network centrality (see Eq. (8) in the main text).The balance between such information is regulated by the parameter α.If α = 0.0, w ′ equals the reciprocal of the network centrality.However, if α = 1.0, w ′ equals w.Thus, we should set 0.0 ≤ α < 1.0 to distinguish between the result of the conventional method and that of our proposed approach.We can obtain Steiner trees with a small weight when α is set to a suitable value.
An example of the Steiner trees obtained with a different α is shown in Fig. S1.In Fig. S1, the weights of each edge correspond to its length.In Fig. S1, the Steiner tree in (b) is the Steiner tree with the smallest weight.The weight of the Steiner tree in (a) is large because the original edge weight w is ignored when α = 0.0.However, the weight of the Steiner tree in (c) is also large because the network centrality is ignored when α = 1.0.Therefore, the value of α strongly affects the weights of the Steiner trees obtained.However, we do not know the best balance of both terms, namely, the best value of α.To select the best value of α, we changed α from 0.0 to 0.9 per 0.1.We select the value of α that can obtain the Steiner tree with the smallest weight for each instance.[1].Here, α controls the balance of information between the input edge weight w(e i ) and the edge betweenness centrality 1/Ce(e i ).In the case that α = 0.0, the new edge weight w ′ equals the reciprocal of the network centrality.In the case that α = 1.0, w ′ (e i ) equals the input edge weight (the same as the conventional method).The weight of the Steiner tree in (b) is the smallest among them.The weight of the Steiner tree in (a) is the largest because the input edge weight is ignored.The weight of the Steiner tree in (c) is large because the blue edges do not overlap (these paths are overlapped in (b), shown as orange edges).
The relationships between α and an improvement in the gaps for the benchmark problem set I080 (consisting of 100 instances) are shown in Figs S2, S3, and S4. Figure S2 shows the relationship between α and an improvement ratio [%] of the gaps obtained using the DNH [2].The horizontal axis is the instance index, the vertical axis is the α, and colors indicate an improvement in the gaps from the conventional method (i.e.without the use of network centralities).We plot the results for 0.1 ≤ α ≤ 0.9.From Fig. S2, the use of network centralities generally improves the gaps because warm-colored areas (the improvement ratios in the gaps are positive) are wider than the cool-colored areas (the improvement ratios in the gaps are negative).For the 11 ∼ 15, 36 ∼ 40, 61 ∼ 65, and 86 ∼ 90th instances, the improvement ratios in the gaps are zero (white colored).This means that the use of network centralities does not affect these instances.These instances are complete graphs.In complete graphs, all vertices or edges have similar network centralities.Thus, applying network centralities has no effect.
Figure S3 shows the relationship between α and improvement ratios [%] in the gaps obtained using the SPH [3].From Fig. S3, the use of network centralities generally helps improve the gaps because warm-colored areas are wider than cool-colored areas.
Figure S4 shows the relationship between α and improvement ratios [%] in the gaps obtained when using the ADH [4].From Fig. S4, the range of improvement ratios in the gaps is smaller than that of the DNH and SPH because the conventional ADH obtains smaller gap solutions than one of them.Because warm-colored areas are wider than cool-colored areas, the use of network centralities improves the gaps.For the complete graph (the 11 ∼ 15, 36 ∼ 40, 61 ∼ 65, and 86 ∼ 90th) instances, the improvement in the gaps of a small α is negative except for the use of the closeness centrality.These results indicate that we should use a conventional heuristic method for complete graph instances.

S2. Gaps and calculation time for each instance
We use eight benchmark problem sets, B, C, D, E, I080, I160 I320, and I640 in Steinlib [1] to evaluate the performance of the proposed method, namely the heuristic methods using the network centralities.Each benchmark problem set consists of many instances (please see Table 1 in the main text).We showed the results of the average gaps and average time per benchmark problem set in the main text.Thus, in this supplementary information, we showed the best α, average gaps, and average time for each instance.
Tables S1-S24 show the results of the numerical experiments for each instance.In Tables S1-S24, "α" indicates the best value of α that minimizes the average gaps, "gap" is the average gap, and "time" is the average CPU time.If the average gap is minimized for various values of α, we select their minimum values.
If the gap of the proposed method is smaller than the original method, the gap is shown in bold type.In addition, texts with a gray background indicate that these are complete graph instances.

Figure S1 .
Figure S1.Steiner trees obtained by the DNH using the edge betweenness centrality with different α's.The instance used in this figure is lin04 in SteinLib [1].Here, α controls the balance of information between the input edge weight w(e i ) and the edge betweenness centrality 1/Ce(e i ).In the case that α = 0.0, the new edge weight w ′ equals the reciprocal of the network centrality.In the case that α = 1.0, w ′ (e i ) equals the input edge weight (the same as the conventional method).The weight of the Steiner tree in (b) is the smallest among them.The weight of the Steiner tree in (a) is the largest because the input edge weight is ignored.The weight of the Steiner tree in (c) is large because the blue edges do not overlap (these paths are overlapped in (b), shown as orange edges).

Figure S2 .
Figure S2.The relationships between α and the improved ratios obtained when using the DNH.The results are shown for all instances in I080.

Figure S3 .
Figure S3.The relationships between α and improved ratios obtained by using the SPH.The results are shown for all instances in I080.

Figure S4 .
Figure S4.The relationships between α and improved ratios obtained using the ADH.The results are shown for all instances in I080.

Table S1 .
Results of the benchmark problem set B by using the DNH.

Table S2 .
Results of the benchmark problem set C by using the DNH.

Table S3 .
Results of the benchmark problem set D by using the DNH.

Table S4 .
Results of the benchmark problem set E by using the DNH.

Table S5 .
Results of the benchmark problem set I080 by using the DNH.Texts with a gray background are complete graph instances.

Table S5 .
(Continued) Results of the benchmark problem set I080 by using the DNH.Texts with a gray background are complete graph instances.

Table S6 .
Results of the benchmark problem set I160 by using the DNH.Texts with a gray background are complete graph instances.

Table S6 .
(Continued) Results of the benchmark problem set I160 by using the DNH.Texts with a gray background are complete graph instances.

Table S7 .
Results of the benchmark problem set I320 by using the DNH.Texts with a gray background are complete graph instances.

Table S7 .
(Continued) Results of the benchmark problem set I320 by using the DNH.Texts with a gray background are complete graph instances.

Table S8 .
Results of the benchmark problem set I640 by using the DNH.Texts with a gray background are complete graph instances.

Table S8 .
(Continued) Results of the benchmark problem set I640 by using the DNH.Texts with a gray background are complete graph instances.

Table S9 .
Results of the benchmark problem set B by using the SPH.

Table S10 .
Results of the benchmark problem set C by using the SPH.

Table S11 .
Results of the benchmark problem set D by using the SPH.

Table S12 .
Results of the benchmark problem set E by using the SPH.

Table S13 .
Results of the benchmark problem set I080 by using the SPH.Texts with a gray background are complete graph instances.

Table S13 .
(Continued) Results of the benchmark problem set I080 by using the SPH.Texts with a gray background are complete graph instances.

Table S14 .
Results of the benchmark problem set I160 by using the SPH.Texts with a gray background are complete graph instances.

Table S14 .
(Continued) Results of the benchmark problem set I160 by using the SPH.Texts with a gray background are complete graph instances.

Table S15 .
Results of the benchmark problem set I320 by using the SPH.Texts with a gray background are complete graph instances.

Table S15 .
(Continued) Results of the benchmark problem set I320 by using the SPH.Texts with a gray background are complete graph instances.

Table S16 .
Results of the benchmark problem set I640 by using the SPH.Texts with a gray background are complete graph instances.

Table S16 .
(Continued) Results of the benchmark problem set I640 by using the SPH.Texts with a gray background are complete graph instances.

Table S17 .
Results of the benchmark problem set B by using the ADH.

Table S18 .
Results of the benchmark problem set C by using the ADH.

Table S19 .
Results of the benchmark problem set D by using the ADH.

Table S20 .
Results of the benchmark problem set E by using the ADH.

Table S22 .
Results of the benchmark problem set I160 by using the ADH.Texts with a gray background are complete graph instances.

Table S22 .
(Continued) Results of the benchmark problem set I160 by using the ADH.Texts with a gray background are complete graph instances.

Table S23 .
Results of the benchmark problem set I320 by using the ADH.Texts with a gray background are complete graph instances.

Table S23 .
(Continued) Results of the benchmark problem set I320 by using the ADH.Texts with a gray background are complete graph instances.

Table S24 .
Results of the benchmark problem set I640 by using the ADH.Texts with a gray background are complete graph instances.

Table S24 .
(Continued) Results of the benchmark problem set I640 by using the ADH.Texts with a gray background are complete graph instances.